.\" Copyright (c) 2017, Martin Kepplinger <martink@posteo.de>
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" <http://www.gnu.org/licenses/>.
.\" %%%LICENSE_END
.\"
.TH "TS_CALIBRATE" "1" "" "" "tslib"
.SH "NAME"
ts_calibrate \- A test program to calibrate a touch screen used by tslib\&.

.SH SYNOPSIS
.B ts_calibrate

.SH "DESCRIPTION"
.PP
\fBts_calibrate\fR is used to manually configure tslib's \fBlinear\fR filter plugin. It draws crosshairs to the framebuffer to be touched by the user and records expected vs. actual touch contact positions needed to apply the filter and provide a desired touch user experience. It uses the \fBTSLIB_CALIBFILE\fR environment variable to store it's values.
.sp
.sp
\fB\-r, \-\-rotate [value]\fR
.sp
.RS 4
Rotate the screen. value is 0 for 0 degree, 1 for 90 degrees (CW), 2 for 180 degrees (upside down) and 3 for 270 degrees (CCW). This value will be added to the calibration config file TSLIB_CALIBFILE and picked up from the linear filter module from there. It can be changed by a linear module parameter.
.RE
.PP

.sp
.sp
\fB\-t, \-\-min_interval\fR
.sp
.RS 4
The time in milliseconds that has to pass before a crosshair is pressed by the user. This may be useful to avoid insanely fast or accidentally wrong taps and thus inaccurate calibration. Default: 0.
.RE
.PP

.sp
.sp
\fB\-c, \-\-validate\fR
.sp
.RS 4
Validate the calibration. Make sure the linear module is configured in ts.conf so that the current calibration is applied. In this mode, crosses are displayed at random locations on screen and touches are evaluated against their positions. In this mode the \-\-loops and \-\-boundary options are available.
.RE
.PP

.sp
.sp
\fB\-b, \-\-boundary\fR
.sp
.RS 4
Validation boundary in pixels. Available only when \-\-validate is used. This defines how strict the validation should be. It's the the distance that an evaluated touch input is allowed to be apart from a cross to still pass the validation. If this boundary is crossed, validation fails. Default: 10.
.RE
.PP

.sp
.sp
\fB\-o, \-\-border\fR
.sp
.RS 4
Number of pixels to keep away from the screen border. Available only when \-\-validate is used. Default: 0.
.RE
.PP

.sp
.sp
\fB\-l, \-\-loops\fR
.sp
.RS 4
Number of loops in validation mode. Available only when \-\-validate is used. This defines how many crosses should be touched and evaluated. Default: 3.
.RE
.PP

.SH "ENVIRONMENT VARIABLES"
.PP
see ts.conf (5)
.RE
.PP

.SH "SEE ALSO"
.PP
ts\&.conf (5),
ts_test (1),
ts_uinput (1)
